package com.gxd.core.config;

import lombok.Data;
import lombok.ToString;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.stereotype.Component;

/**
 * @Author:gxd
 * @Description:
 * @Date: 21:10 2018/4/12
 * @Modified By:
 */
@Component("commConstConfig")
@RefreshScope
@Data
@ToString
public class CommConstConfig {

    /**
     * 单点登录服务器
     */
    @Value("${gxd.sso.serverDomain:http://192.168.50.36:8099}")
    private String serverDomain;
    /**
     * 单点登录地址
     */
    @Value("${gxd.sso.serverLoginUrl:/sso/login}")
    private String serverLoginUrl;
    /**
     * 单点登录认证地址，获取加密信息
     */
    @Value("${gxd.sso.authUrl: /sso/doAuth/}")
    private String authUrl;

    /**
     * 单点登录根据token获取用户信息,明文信息
     */
    @Value("${gxd.sso.tokenUrl:/sso/token/}")
    private String tokenUrl;
    /**
     * 子系统编码
     */
    @Value("${gxd.sso.systemCode:systemamp}")
    private String systemCode;

    /**
     * 注册地址
     */
    @Value("${gxd.sso.regUrl:regUrl}")
    private String regUrl;

    /**
     * 子系统注册令牌
     */
    @Value("${gxd.sso.sysRegisterToken:sysRegisterToken}")
    private String sysRegisterToken;
    /**
     * 秘钥
     */
    @Value("${gxd.sso.signingKey:signingKey}")
    private String signingKey;
    /**
     * 一级域名
     */
    @Value("${gxd.sso.domainName:.test}")
    private String domainName;

    /**
     * 超级用户id
     */
    @Value("${gxd.sso.adminId:0}")
    private String adminId;

    /**
     * rest超时设置,读写超时，毫秒
     */
    @Value("${gxd.sso.readTimeout:30000}")
    private int readTimeout;

    /**
     * REST超时配置,连接超时，毫秒
     */
    @Value("${gxd.sso.connectTimeout:30000}")
    private int connectTimeout;


    /**
     * http clilent中从connetcion pool中获得一个connection的超时时间
     */
    @Value("${gxd.sso.requestTimeout:30000}")
    private int requestTimeout;


    /**
     * 是否启用代理
     */
    @Value("${gxd.sso.proxy:false}")
    private Boolean proxy;

    /**
     * 每个主机的并发
     */
    @Value("${gxd.sso.maxPerRoute:100}")
    private int maxPerRoute;

    /**
     * 连接池最大连接数
     */
    @Value("${gxd.sso.maxTotal:1000}")
    private int maxTotal;
    /**
     * 代理主机地址
     */
    @Value("${gxd.sso.host:127.0.0.1}")
    private String host;
    /**
     * 代理端口
     */
    @Value("${gxd.sso.port:8080}")
    private int port;

    /**
     * cookie存活时间，默认一周
     */
    @Value("${gxd.sso.cookieMaxAge:604800}")
    private int cookieMaxAge;

    /**
     * 判断重复登录
     */
    @Value("${gxd.sso.repeatLogin:/sso/getTokenByStaffId/}")
    private String repeatLogin;

    /**
     * 获取所有权限信息
     */
    @Value("${gxd.sso.allAmpAuth:/sso/getAllAmpAuth}")
    private String allAmpAuth;
    /**
     * 根据用户信息获取权限信息
     */
    @Value("${gxd.sso.ampAuth:/sso/getAmpAuthByStaffAuthRel}")
    private String ampAuth;

    @Value("${gxd.sso.clientServerUrl:clientServerUrl}")
    private String clientServerUrl;

    /**
     * 系统前缀
     */
    @Value("${gxd.sso.systemPrefix:systemPrefix}")
    private String systemPrefix;

    /**
     * 网路变化验证
     */
    @Value("${gxd.sso.netWorkChange:false}")
    private Boolean netWorkChange;

    /**
     * 没有权限跳转地址
     */
    @Value("${gxd.sso.noAuth2Url:http://lbs.cindata.cn/gxdyun}")
    private String noAuth2Url;


    @Value("${gxd.sso.innerUrl:http://192.168.45.201:8099}")
    private String innerUrl;


    @Value("${gxd.sso.callbackUrl:callbackUrl}")
    private String callbackUrl;

}
